﻿using Guild_Wars_2.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guild_Wars_2.DataModel
{
    public class GW2Events : BindableBase
    {
        public GW2Events(String event_id, String event_group_name, int event_phase, String event_type, String event_name)
        {
            _event_id = event_id;
            _event_group_name = event_group_name;
            _event_phase = event_phase;
            _event_type = event_type;
            _event_name = event_name;
        }

        private string _event_id = string.Empty;
        public string Event_Id
        {
            get { return this._event_id; }
            set { this.SetProperty(ref this._event_id, value); }
        }

        private string _event_group_name = string.Empty;
        public string Event_Group
        {
            get { return this._event_group_name; }
            set { this.SetProperty(ref this._event_group_name, value); }
        }

        private int _event_phase = 0;
        public int Event_Phase
        {
            get { return this._event_phase; }
            set { this.SetProperty(ref this._event_phase, value); }
        }

        private string _event_type = string.Empty;
        public string Event_Type
        {
            get { return this._event_type; }
            set { this.SetProperty(ref this._event_type, value); }
        }

        private string _event_name = string.Empty;
        public string Event_Name
        {
            get { return this._event_name; }
            set { this.SetProperty(ref this._event_name, value); }
        }

        private string _event_state = "No data yet";
        public string Event_State
        {
            get { return this._event_state; }
            set { this.SetProperty(ref this._event_state, value); }
        }
        //TODO
        //Overleggen over Thaida
        //Overleggen over Eye of Zhaithan
        //Arah toevoegen?
        public static GW2Events[] EventsToWatch = new GW2Events[] { 
            new GW2Events("C957AD99-25E1-4DB0-9938-F54D9F23587B", "Jormag", 1, "1", "Destroy the dragon crystal near the Pact siege wall."),
            new GW2Events("96D736C4-D2C6-4392-982F-AC6B8EF3B1C8", "Jormag", 1, "1", "Destroy the dragon crystal at Elder's Vale."),
            new GW2Events("0CA3A7E3-5F66-4651-B0CB-C45D3F0CAD95", "Jormag", 1, "1", "Destroy the dragon crystal on the road to Slough of Despond."),
            new GW2Events("429D6F3E-079C-4DE0-8F9D-8F75A222DB36", "Jormag", 1, "1", "Destroy the dragon crystal at the Pact flak cannons."),
            new GW2Events("BFD87D5B-6419-4637-AFC5-35357932AD2C", "Jormag", 2, "1", "Lure out the Claws of Jormag by destroying the final dragon crystal."), 
            new GW2Events("0464CB9E-1848-4AAA-BA31-4779A959DD71", "Jormag", 3, "1", "Defeat the Claw of Jormag."),
            new GW2Events("8E064416-64B5-4749-B9E2-31971AB41783", "Shatterer", 1, "1", "Escort the Sentinel squad to the Vigil camp in Lowland Burns." ),
            new GW2Events("580A44EE-BAED-429A-B8BE-907A18E36189", "Shatterer", 2, "1", "Collect siege weapon pieces for Crusader Blackhorn."),
            new GW2Events("03BF176A-D59F-49CA-A311-39FC6F533F2F", "Shatterer", 3, "1", "Slay the Shatterer" ),
            new GW2Events("568A30CF-8512-462F-9D67-647D69BEFAED", "Tequatl", 3, "1", "Defeat Tequatl the Sunless." ),
            new GW2Events("294E08F6-CA36-42B3-8D06-B321BA06EECA", "MegaDestroyer", 1, "1", "Stop the Inquest's destroyer-essence collectors by destroying their power cores."),
            new GW2Events("61D4579A-C53F-4C26-A31B-92FABE3DA566", "MegaDestroyer", 1, "1", "Defend the Advanced Arcanomics lab."),
            new GW2Events("3BA29A69-A30B-405D-96AC-CBA5D511C163", "MegaDestroyer", 1, "1", "Stop the rampaging Inquest golem."),
            new GW2Events("9E5D9F1A-FE14-49C6-917F-43AAE227165C", "MegaDestroyer", 1, "1", "Slay destroyers, and close their fissures on the volcano's north side."),
            new GW2Events("4210CE81-BDB7-448E-BE33-46E18A5A3477", "MegaDestroyer", 1, "1", "Eliminate destroyer forces on the volcano's south side."),
            new GW2Events("584A4D22-33DC-4D77-A5D9-2FA7379401ED", "MegaDestroyer", 1, "1", "Eliminate destroyer forces in the volcano's southeast cavern."),
            new GW2Events("36E81760-7D92-458E-AA22-7CDE94112B8F", "MegaDestroyer", 2, "1", "Protect the asura and their technology while they quell the unstable volcano."),
            new GW2Events("C876757A-EF3E-4FBE-A484-07FF790D9B05", "MegaDestroyer", 3, "1", "Kill the megadestroyer before it blows everyone up."),
            new GW2Events("3ED4FEB4-A976-4597-94E8-8BFD9053522F", "GolemMark2", 2, "1", "Disable the containers before they release their toxins."),
            new GW2Events("9AA133DC-F630-4A0E-BB5D-EE34A2B306C2", "GolemMark2", 3, "1", "Defeat the Inquest's golem Mark II."),
            new GW2Events("AFCF031A-F71D-4CEA-85E1-957179414B25", "ShadowBehemoth", 2, "1", "Drive back Underworld creatures by destroying portals in Taminn Foothills."),
            new GW2Events("CFBC4A8C-2917-478A-9063-1A8B43CC8C38", "ShadowBehemoth", 2, "1", "Drive back Underworld creatures by destroying portals in the Heartwoods."),
            new GW2Events("E539A5E3-A33B-4D5F-AEED-197D2716F79B", "ShadowBehemoth", 2, "1", "Drive back Underworld creatures by destroying portals in the monastery."),
            new GW2Events("36330140-7A61-4708-99EB-010B10420E39", "ShadowBehemoth", 2, "1", "Drive back Underworld creatures by destroying portals in the swamp."),
            new GW2Events("31CEBA08-E44D-472F-81B0-7143D73797F5", "ShadowBehemoth", 3, "1", "Defeat the shadow behemoth."),
            new GW2Events("613A7660-8F3A-4897-8FAC-8747C12E42F8", "GreatJungleWurm", 1, "1", "Protect Gamarien as he scouts Wychmire Swamp."),
            new GW2Events("CF6F0BB2-BD6C-4210-9216-F0A9810AA2BD", "GreatJungleWurm", 2, "1", "Destroy the blighted growth."),
            new GW2Events("456DD563-9FDA-4411-B8C7-4525F0AC4A6F", "GreatJungleWurm", 2, "1", "Destroy the blighted growth."),
            new GW2Events("1DCFE4AA-A2BD-44AC-8655-BBD508C505D1", "GreatJungleWurm", 2, "1", "Kill the giant blighted grub."),
            new GW2Events("61BA7299-6213-4569-948B-864100F35E16", "GreatJungleWurm", 2, "1", "Destroy the avatars of blight."),
            new GW2Events("C5972F64-B894-45B4-BC31-2DEEA6B7C033", "GreatJungleWurm", 3, "1", "Defeat the great jungle wurm."),
            new GW2Events("5E4E9CD9-DD7C-49DB-8392-C99E1EF4E7DF", "FireElemental", 1, "1", "Escort the C.L.E.A.N. 5000 golem while it absorbs clouds of chaos magic."),
            new GW2Events("2C833C11-5CD5-4D96-A4CE-A74C04C9A278", "FireElemental", 2, "1", "Defend the C.L.E.A.N. 5000 golem."),
            new GW2Events("33F76E9E-0BB6-46D0-A3A9-BE4CDFC4A3A4", "FireElemental", 3, "1", "Destroy the fire elemental created from chaotic energy fusing with the C.L.E.A.N. 5000's energy core."),
            new GW2Events("6F516B2C-BD87-41A9-9197-A209538BB9DF", "TheFrozenMaw", 1, "1", "Protect Tor the Tall's supplies from the grawl."),
            new GW2Events("D5F31E0B-E0E3-42E3-87EC-337B3037F437", "TheFrozenMaw", 2, "1", "Protect Scholar Brogun as he investigates the grawl tribe."),
            new GW2Events("6565EFD4-6E37-4C26-A3EA-F47B368C866D", "TheFrozenMaw", 2, "1", "Destroy the dragon totem."),
            new GW2Events("374FC8CB-7AB7-4381-AC71-14BFB30D3019", "TheFrozenMaw", 2, "1", "Destroy the corrupted portals summoning creatures from the mists."),
            new GW2Events("90B241F5-9E59-46E8-B608-2507F8810E00", "TheFrozenMaw", 2, "1", "Defeat the shaman's elite guard."),
            new GW2Events("DB83ABB7-E5FE-4ACB-8916-9876B87D300D", "TheFrozenMaw", 2, "1", "Defeat the Svanir shamans spreading the dragon's corruption."),
            new GW2Events("F7D9D427-5E54-4F12-977A-9809B23FBA99", "TheFrozenMaw", 3, "1", "Kill the Svanir shaman chief to break his control over the ice elemental."),
            new GW2Events("8D45B410-B614-4008-8A5C-E8D8230CEB40", "FoulBear", 1, "2", "Defend Sapper's Delve from ogres."),
            new GW2Events("724343EA-B32C-4AE1-AB7E-E5FC160C26F9", "FoulBear", 2, "2", "Kill the ogre leaders of Sapper's Delve and hold the hill."),
            new GW2Events("D9F1CF48-B1CB-49F5-BFAF-4CEC5E68C9CF", "FoulBear", 2, "2", "Assault Foulbear Kraal by killing its leaders before the ogres can rally."),
            new GW2Events("4B478454-8CD2-4B44-808C-A35918FA86AA", "FoulBear", 2, "2", "Destroy Foulbear Kraal before the ogres can rally."),
            new GW2Events("B4E6588F-232C-4F68-9D58-8803D67E564D", "FoulBear", 3, "2", "Kill the Foulbear Chieftain and her elite guards before the ogres can rally."),
            new GW2Events("AE7AAA0C-5619-4C94-918B-6022DB9AA481", "Ulgoth", 1, "2", "Take Bridgewatch Camp from the centaurs."),
            new GW2Events("38E99B3A-C4E5-4F1E-B5B9-24DD3DF5EDB4", "Ulgoth", 2, "2", "Defend Seraph forces at Bridgewatch Camp from the Modniir assault."),
            new GW2Events("C3A1BAE2-E7F2-4929-A3AA-92D39283722C", "Ulgoth", 2, "2", "Capture the camps before more centaurs arrive."),
            new GW2Events("DDC0A526-A239-4791-8984-E7396525B648", "Ulgoth", 2, "2", "Assault Kingsgate and drive the centaurs back before they can rally their forces."),
            new GW2Events("DA465AE1-4D89-4972-AD66-A9BE3C5A1823", "Ulgoth", 2, "2", "Keep the Modniir invaders from retaking Kingsgate."),
            new GW2Events("A3101CDC-A4A0-4726-85C0-147EF8463A50", "Ulgoth", 2, "2", "Kill the centaur war council before reinforcements arrive."),
            new GW2Events("E6872A86-E434-4FC1-B803-89921FF0F6D6", "Ulgoth", 3, "2", "Defeat Ulgoth the Modniir and his minions."),
            new GW2Events("10F7854A-D2E7-42E4-9BCE-0C411EF91328", "DredgeCommissar", 1, "2", "Drive the dredge out of Fridgardr Lodge."),
            new GW2Events("141654A6-D42E-415E-A3C4-918A1E664AF3", "DredgeCommissar", 2, "2", "Regain control of Firebase Molek." ),
            new GW2Events("64B94537-00D5-4CB6-8558-44987A9C5F76", "DredgeCommissar", 2, "2", "Stop the dredge from recapturing Firebase Molek."),
            new GW2Events("664B1CAC-8F83-4446-9E81-079EC4D19467", "DredgeCommissar", 3, "2", "Defeat the dredge commissar."),
            new GW2Events("B6B7EE2A-AD6E-451B-9FE5-D5B0AD125BB2", "AdmiralTaidha", 1, "2", "Eliminate the cannons at the northern defensive tower."),
            new GW2Events("189E7ABE-1413-4F47-858E-4612D40BF711", "AdmiralTaidha", 2, "2", "Capture Taidha Covington's southern defensive tower."),
            new GW2Events("0E0801AF-28CF-4FF7-8064-BB2F4A816D23", "AdmiralTaidha", 2, "2", "Defend the galleon and help it destroy Taidha's gate."),
            new GW2Events("242BD241-E360-48F1-A8D9-57180E146789", "AdmiralTaidha", 3, "2", "Kill Admiral Taidha Covington."),
            new GW2Events("295E8D3B-8823-4960-A627-23E07575ED96", "FireShaman", 3, "2", "Defeat the fire shaman and his minions."),
            new GW2Events("6FA8BE3F-9F6C-4790-BFBC-380B26FDB06C", "EyeOfZhaitan", 1, "2", "Escort Warmaster Leddron and his team to Zho'qafa Catacombs."),
            new GW2Events("42884028-C274-4DFA-A493-E750B8E1B353", "EyeOfZhaitan", 2, "2", "Defend the Pact team as they search Zho'qafa Catacombs for artifacts."),
            new GW2Events("A0796EC5-191D-4389-9C09-E48829D1FDB2", "EyeOfZhaitan", 3, "2", "Destroy the Eye of Zhaitan."),
            new GW2Events("E1CC6E63-EFFE-4986-A321-95C89EA58C07", "KarkaQueen", 3, "2", "Defeat the Karka Queen threatening the settlements."),
            new GW2Events("D3FFC041-4124-4AA7-A74B-B9363ED1BCBD", "TempleOfBalthazar", 1, "3", "Escort the northern invasion Pact squad to the Pact rally point at Triumph Plaza."),
            new GW2Events("45B84A62-BE33-4371-B9FB-CC8490528276", "TempleOfBalthazar", 1, "3", "Escort the southern invasion Pact squad to the Pact rally point at Triumph Plaza."),
            new GW2Events("A8D1A2B7-1F1B-413D-8E64-06CA0D26712D", "TempleOfBalthazar", 1, "3", "Escort the central invasion Pact squad to the Pact rally point at Triumph Plaza."),
            new GW2Events("D0ECDACE-41F8-46BD-BB17-8762EF29868C", "TempleOfBalthazar", 2, "3", "Help the Pact reach the Altar of Betrayal before their morale is depleted."),
            new GW2Events("7B7D6D27-67A0-44EF-85EA-7460FFA621A1", "TempleOfBalthazar", 2, "3", "Seize the Altar of Betrayal before Pact morale can be broken."),
            new GW2Events("2555EFCB-2927-4589-AB61-1957D9CC70C8", "TempleOfBalthazar", 3, "3", "Defeat the Risen Priest of Balthazar before it can summon a horde of Risen."),
            new GW2Events("F5436671-8934-4BD4-AEF7-4F3741A9CDA4", "TempleOfLyssa", 1, "3", "Defeat the Risen forces before they construct fortifications around the Seal of Union."),
            new GW2Events("35997B10-179B-4E39-AD7F-54E131ECDD57", "TempleOfLyssa", 2, "3", "Destroy the Risen fortifications to capture the Seal of Union."),
            new GW2Events("F66922B5-B4BD-461F-8EC5-03327BD2B558", "TempleOfLyssa", 2, "3", "Protect the Pact golems until they charge the neutralizer device."),
            new GW2Events("590364E0-0053-4933-945E-21D396B10B20", "TempleOfLyssa", 2, "3", "Defend the Seal of Lyss until the Pact cannon is online."),
            new GW2Events("0372874E-59B7-4A8F-B535-2CF57B8E67E4", "TempleOfLyssa", 3, "3", "Kill the Corrupted High Priestess" ),
            new GW2Events("F531683F-FC09-467F-9661-6741E8382E24", "TempleOfDwayna", 1, "3", "Escort Historian Vermoth to the Altar of Tempests."),
            new GW2Events("7EF31D63-DB2A-4FEB-A6C6-478F382BFBCB", "TempleOfDwayna", 2, "3", "Defeat the Risen Priestess of Dwayna."),
            new GW2Events("526732A0-E7F2-4E7E-84C9-7CDED1962000", "TempleOfDwayna", 2, "3", "Drive Malchor to the Altar of Tempests."),
            new GW2Events("6A6FD312-E75C-4ABF-8EA1-7AE31E469ABA", "TempleOfDwayna", 3, "3", "Defeat the possessed statue of Dwayna."),
            new GW2Events("B41C90F8-AF33-400E-9AD3-3DB0AFCEDC6C", "TempleOfGrenth", 1, "3", "Protect Tactician Footi as she sets up her cannon."),
            new GW2Events("4B612C93-3700-43B8-B3C1-CBC64FEC0566", "TempleOfGrenth", 2, "3", "See Keeper Jonez Deadrun safely to Death's Gaze Torch."),
            new GW2Events("C8139970-BE46-419B-B026-485A14002D44", "TempleOfGrenth", 2, "3", "Ensure that Keeper Jonez Deadrun reaches the Cathedral of Silence."),
            new GW2Events("E16113B1-CE68-45BB-9C24-91523A663BCB", "TempleOfGrenth", 2, "3", "Use portals to fight shades, slay the Champion Risen Priest of Grenth, and protect Keeper Jonez Deadrun."),
            new GW2Events("27E2F73C-E26B-4046-AC06-72C442D9B2B7", "TempleOfGrenth", 2, "3", "Defend the Pact lightning cannon."),
            new GW2Events("99254BA6-F5AE-4B07-91F1-61A9E7C51A51", "TempleOfGrenth", 3, "3", "Cover Keeper Jonez Deadrun as he performs the cleansing ritual."),
            new GW2Events("C39CA0D3-E00D-498F-9F9A-CCFB715896F4", "TempleOfMelandru", 1, "3", "Defend Gavbeorn's Landing from invading Risen."),
            new GW2Events("C15950B3-7EA6-4976-9DD3-97C88354EE0C", "TempleOfMelandru", 2, "3", "Reclaim Gavbeorn's Landing from the Risen."),
            new GW2Events("3D333172-24CE-47BA-8F1A-1AD47E7B69E4", "TempleOfMelandru", 2, "3", "Escort Magister Izzmek to the site of the first signal beacon."),
            new GW2Events("E7563D8D-838D-4AF4-80CD-1D3A25B6F6AB", "TempleOfMelandru", 2, "3", "Escort Magister Izzmek to the site of the second signal beacon."),
            new GW2Events("F0CE1E71-4B96-48C6-809D-E1941AF40B1D", "TempleOfMelandru", 2, "3", "Defend the beacon until Pact reinforcements can arrive."),
            new GW2Events("351F7480-2B1C-4846-B03B-ED1B8556F3D7", "TempleOfMelandru", 2, "3", "Escort the Pact forces to the Temple of Melandru."),
            new GW2Events("7E24F244-52AF-49D8-A1D7-8A1EE18265E0", "TempleOfMelandru", 2, "3", "Destroy the Risen Priest of Melandru." ),
            new GW2Events("A5B5C2AF-22B1-4619-884D-F231A0EE0877", "TempleOfMelandru", 3, "3", "Defend the Pact interrupter device while it charges to cleanse the temple.")
        };
    }
}
